﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace Host.Models
{
    public class PersonModel
    {
        [Required]
        [Display(Name = "Person identifier")]
        public int PersonId { get; set; }

        [Required]
        [Display(Name = "Person type identifier")]
        public int PersonType { get; set; }

        [Required]
        [Display(Name = "Title identifier")]
        public int TitleId { get; set; }

        [Required]
        [Display(Name = "Position identifier")]
        public int PositionId { get; set; }

        
        [Display(Name = "Client identifier")]
        public int ClientId { get; set; }

        [Display(Name = "Employer identifier")]
        public int EmployerId { get; set; }

        [Required]
        [DataType(DataType.Password)]
        [Display(Name = "Password")]
        public string Password { get; set; }

        [DataType(DataType.DateTime)]
        [Display(Name = "Password chnage date")]
        public DateTime PasswordChangedDate { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Full name")]
        public string FullName { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Identity number")]
        public string IDNumber { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "E-Mail")]
        public string Email { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Cellular number")]
        public string Cellphone { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Work number")]
        public string WorkNo { get; set; }

        [DataType(DataType.MultilineText)]
        [Display(Name = "Physical address")]
        public string PhysicalAddress { get; set; }

        [DataType(DataType.MultilineText)]
        [Display(Name = "Postal address")]
        public string PostalAddress { get; set; }

        [Required]
        [Display(Name = "Active")]
        public bool Active { get; set; }

        [Required]
        [Display(Name = "Notify")]
        public bool Notify { get; set; }

        [Required]
        [Display(Name = "Is user")]
        public bool IsUser { get; set; }

        [Required]
        [Display(Name = "Failed password count")]
        public int FailedPasswordAttemptCount { get; set; }

        [Required]
        [Display(Name = "Is locked out")]
        public bool IsLockedOut { get; set; }

        
        [DataType(DataType.DateTime)]
        [Display(Name = "Date Created")]
        public DateTime DateCreated { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Created By")]
        public string CreatedBy { get; set; }

        [DataType(DataType.DateTime)]
        [Display(Name = "Date modified")]
        public DateTime DateModified { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Modified by")]
        public string ModifiedBy { get; set; }
    }
}